1
Flujos como base de la entrada y salida en Ruby
AI035Lesson 6
00:00

En Ruby, la entrada/salida no es solo un conjunto de comandos; es una arquitectura sofisticada arquitectura basada en flujos. En el núcleo de este sistema se encuentra la IO clase, que actúa como un canal bidireccional entre tu programa y el mundo exterior. Ya sea que interactúes con un archivo, un socket de red o la terminal del usuario, Ruby los trata como flujos genéricos.

1. El puente bidireccional

Un IO objeto es una abstracción unificada. Mientras que el sistema operativo ve distintos descriptores de archivos para lectura y escritura (como en una tubería), Ruby los encapsula en un único objeto. Esto permite un flujo de datos sin interrupciones en ambas direcciones.

Programa de RubyRecursoObjeto IO

2. Kernel y filtros estándar

El Kernel módulo proporciona métodos como gets y print. Estos son esencialmente filtros que delegan a las constantes globales STDIN y STDOUT. Esto significa que tu código puede redirigirse a nivel del sistema operativo para procesar archivos o flujos de red sin cambiar ni una sola línea de lógica.

$$\text{Flujo} \rightarrow \text{Buffer} \rightarrow \text{Interprete de Ruby}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>